package cn.csc.module.product.convert.tagref;

import cn.csc.framework.common.pojo.PageResult;
import cn.csc.module.product.api.tagref.dto.SpuTagReferenceDTO;
import cn.csc.module.product.controller.admin.tagref.vo.SpuTagReferenceCreateReqVO;
import cn.csc.module.product.controller.admin.tagref.vo.SpuTagReferenceExcelVO;
import cn.csc.module.product.controller.admin.tagref.vo.SpuTagReferenceRespVO;
import cn.csc.module.product.controller.admin.tagref.vo.SpuTagReferenceUpdateReqVO;
import cn.csc.module.product.dal.dataobject.tagref.SpuTagReferenceDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 商品标签关联信息 Convert
 *
 * @author liuchuang
 */
@Mapper
public interface SpuTagReferenceConvert {

    SpuTagReferenceConvert INSTANCE = Mappers.getMapper(SpuTagReferenceConvert.class);

    SpuTagReferenceDO convert(SpuTagReferenceCreateReqVO bean);

    SpuTagReferenceDO convert(SpuTagReferenceUpdateReqVO bean);

    SpuTagReferenceRespVO convert(SpuTagReferenceDO bean);

    List<SpuTagReferenceRespVO> convertList(List<SpuTagReferenceDO> list);

    PageResult<SpuTagReferenceRespVO> convertPage(PageResult<SpuTagReferenceDO> page);

    List<SpuTagReferenceExcelVO> convertList02(List<SpuTagReferenceDO> list);

    List<SpuTagReferenceDTO> convertList03(List<SpuTagReferenceDO> list);

}
